package com.pur.zsms.supplier.service;

import java.util.List;

import com.pur.zsms.common.exception.GenericException;
import com.pur.zsms.common.support.PageController;
import com.pur.zsms.common.support.PaginationSupport;
import com.pur.zsms.ordercustommanage.po.OrderSupplierPo;
import com.pur.zsms.ordercustommanage.vo.OrderSupplierVo;

public interface ISupplierOrderService {

	String msg = "";

	public String getMsg();

	public void setMsg(String msg);

	public PaginationSupport listSupplierOrder(PageController pageController, OrderSupplierVo orderSupplierVo) throws GenericException;

	public PaginationSupport findSupCheck(PageController pageController, OrderSupplierVo orderSupplierVo) throws GenericException;

	public OrderSupplierPo getOrderSup(String ordId, String ordCustId, String ordSupId) throws GenericException;

	public List getOrderSupMaterReal(String ordId, String ordCustId, String ordSupId) throws GenericException;

	public List getOrderSupMaterRealForInStore(String ordId, String ordCustId, String ordSupId) throws GenericException;

	public List getOrderSupMaterNeed(String ordId, String ordCustId, String ordSupId) throws GenericException;

	public OrderSupplierPo getOrderSupByOrdIdSupId(String ordId, String ordSupId) throws GenericException;

	public void sendmater(OrderSupplierPo orderSupplierPo) throws GenericException;

	public boolean renturnSendmater(OrderSupplierPo orderSupplierPo) throws GenericException;

	public boolean updateOrderDate(OrderSupplierPo orderSupplierPo) throws GenericException;
	
	public boolean reviewOrderSup(OrderSupplierPo orderSupplierPo) throws GenericException;

	public boolean reconciliationForSup(OrderSupplierPo orderSupplierPo) throws GenericException;

	public boolean clearingForSup(OrderSupplierPo orderSupplierPo) throws GenericException;

	public void updateOrderSupPoState(OrderSupplierPo orderSupplierPo, int state) throws GenericException;

	public void updateOrderSupPoStateAndSetValueReal(OrderSupplierPo orderSupplierPo, int state, boolean unusual) throws GenericException;

}
